import china from "@/assets/image/json/china.json";
import zhejiang from "@/assets/image/json/zhejiang.json";
import echarts from "echarts";
require("./security.js");
import request from "@/utils/request";
/**
 * @param {Function} fn 防抖函数
 * @param {Number} delay 延迟时间
 */

// 自定义位置映射
var geoCoord = {
  // 国内城市 start
  海门: [121.15, 31.89],
  鄂尔多斯: [109.7813, 39.6082],
  招远: [120.38, 37.35],
  舟山: [122.2072, 29.9852],
  齐齐哈尔: [123.97, 47.33],
  盐城: [120.13, 33.38],
  赤峰: [118.87, 42.28],
  青岛: [120.33, 36.07],
  乳山: [121.52, 36.89],
  金昌: [102.188, 38.52],
  泉州: [118.58, 24.93],
  莱西: [120.53, 36.86],
  日照: [119.46, 35.42],
  胶南: [119.97, 35.88],
  南通: [121.05, 32.08],
  拉萨: [91.11, 29.97],
  云浮: [112.02, 22.93],
  梅州: [116.1, 24.55],
  文登: [122.05, 37.2],
  攀枝花: [101.71863, 26.5823],
  威海: [122.1, 37.5],
  承德: [117.93, 40.97],
  厦门: [118.1, 24.46],
  汕尾: [115.3752, 22.7862],
  潮州: [116.63, 23.68],
  丹东: [124.37, 40.13],
  太仓: [121.1, 31.45],
  曲靖: [103.79, 25.51],
  烟台: [121.39, 37.52],
  福州: [119.3, 26.08],
  瓦房店: [121.9796, 39.6271],
  即墨: [120.45, 36.38],
  抚顺: [123.97, 41.97],
  玉溪: [102.52, 24.35],
  张家口: [114.87, 40.82],
  阳泉: [113.57, 37.85],
  莱州: [119.9423, 37.177],
  湖州: [120.1, 30.86],
  汕头: [116.69, 23.39],
  昆山: [120.95, 31.39],
  宁波: [121.56, 29.86],
  湛江: [110.3593, 21.2707],
  揭阳: [116.35, 23.55],
  荣成: [122.41, 37.16],
  连云港: [119.16, 34.59],
  葫芦岛: [120.8369, 40.711],
  常熟: [120.74, 31.64],
  东莞: [113.75, 23.04],
  河源: [114.68, 23.73],
  淮阴: [119.15, 33.5],
  淮安: [119.15, 33.5],
  泰州: [119.9, 32.49],
  南宁: [108.33, 22.84],
  营口: [122.18, 40.65],
  惠州: [114.4, 23.09],
  江阴: [120.26, 31.91],
  蓬莱: [120.75, 37.8],
  韶关: [113.62, 24.84],
  嘉峪关: [98.2891, 39.7731],
  广州: [113.23, 23.16],
  延安: [109.47, 36.6],
  太原: [112.53, 37.87],
  清远: [113.01, 23.7],
  中山: [113.38, 22.52],
  昆明: [102.73, 25.04],
  寿光: [118.73, 36.86],
  盘锦: [122.0707, 41.1199],
  长治: [113.08, 36.18],
  深圳: [114.07, 22.62],
  珠海: [113.52, 22.3],
  宿迁: [118.3, 33.96],
  咸阳: [108.72, 34.36],
  铜川: [109.11, 35.09],
  平度: [119.97, 36.77],
  佛山: [113.11, 23.05],
  海口: [110.35, 20.02],
  江门: [113.06, 22.61],
  章丘: [117.53, 36.72],
  肇庆: [112.44, 23.05],
  大连: [121.62, 38.92],
  临汾: [111.5, 36.08],
  吴江: [120.63, 31.16],
  石嘴山: [106.39, 39.04],
  沈阳: [123.38, 41.8],
  苏州: [120.62, 31.32],
  茂名: [110.88, 21.68],
  嘉兴: [120.76, 30.77],
  长春: [125.35, 43.88],
  胶州: [120.0333, 36.2646],
  银川: [106.27, 38.47],
  张家港: [120.5558, 31.8754],
  三门峡: [111.19, 34.76],
  锦州: [121.15, 41.13],
  南昌: [115.89, 28.68],
  柳州: [109.4, 24.33],
  三亚: [109.5119, 18.2528],
  自贡: [104.7784, 29.339],
  吉林: [126.57, 43.87],
  阳江: [111.95, 21.85],
  泸州: [105.39, 28.91],
  西宁: [101.74, 36.56],
  宜宾: [104.56, 29.77],
  呼和浩特: [111.65, 40.82],
  成都: [104.06, 30.67],
  大同: [113.3, 40.12],
  镇江: [119.44, 32.2],
  桂林: [110.28, 25.29],
  张家界: [110.4791, 29.117],
  宜兴: [119.82, 31.36],
  北海: [109.12, 21.49],
  西安: [108.95, 34.27],
  金坛: [119.56, 31.74],
  东营: [118.49, 37.46],
  牡丹江: [129.58, 44.6],
  遵义: [106.9, 27.7],
  绍兴: [120.58, 30.01],
  扬州: [119.42, 32.39],
  常州: [119.95, 31.79],
  潍坊: [119.1, 36.62],
  重庆: [106.54, 29.59],
  台州: [121.4207, 28.6563],
  南京: [118.78, 32.04],
  滨州: [118.03, 37.36],
  贵阳: [106.71, 26.57],
  无锡: [120.29, 31.59],
  本溪: [123.73, 41.3],
  克拉玛依: [84.77, 45.59],
  渭南: [109.5, 34.52],
  马鞍山: [118.48, 31.56],
  宝鸡: [107.15, 34.38],
  焦作: [113.21, 35.24],
  句容: [119.16, 31.95],
  徐州: [117.2, 34.26],
  衡水: [115.72, 37.72],
  包头: [110.0, 40.58],
  绵阳: [104.73, 31.48],
  乌鲁木齐: [87.68, 43.77],
  枣庄: [117.57, 34.86],
  杭州: [120.19, 30.26],
  淄博: [118.05, 36.78],
  鞍山: [122.85, 41.12],
  溧阳: [119.48, 31.43],
  库尔勒: [86.06, 41.68],
  安阳: [114.35, 36.1],
  开封: [114.35, 34.79],
  济南: [117.0, 36.65],
  德阳: [104.37, 31.13],
  温州: [120.65, 28.01],
  九江: [115.97, 29.71],
  邯郸: [114.47, 36.6],
  临安: [119.72, 30.23],
  兰州: [103.73, 36.03],
  沧州: [116.83, 38.33],
  临沂: [118.35, 35.05],
  南充: [106.1106, 30.8377],
  富阳: [119.95, 30.07],
  泰安: [117.13, 36.18],
  诸暨: [120.23, 29.71],
  郑州: [113.65, 34.76],
  哈尔滨: [126.63, 45.75],
  聊城: [115.97, 36.45],
  芜湖: [118.38, 31.33],
  唐山: [118.02, 39.63],
  平顶山: [113.29, 33.75],
  邢台: [114.48, 37.05],
  德州: [116.29, 37.45],
  济宁: [116.59, 35.38],
  荆州: [112.2397, 30.3351],
  宜昌: [111.3, 30.7],
  义乌: [120.06, 29.32],
  丽水: [119.92, 28.45],
  洛阳: [112.44, 34.7],
  秦皇岛: [119.57, 39.95],
  株洲: [113.16, 27.83],
  石家庄: [114.48, 38.03],
  莱芜: [117.67, 36.19],
  常德: [111.69, 29.05],
  保定: [115.48, 38.85],
  湘潭: [112.91, 27.87],
  金华: [119.64, 29.12],
  岳阳: [113.09, 29.37],
  长沙: [113.0, 28.21],
  衢州: [118.88, 28.97],
  廊坊: [116.7, 39.53],
  菏泽: [115.4806, 35.2337],
  合肥: [117.27, 31.86],
  武汉: [114.31, 30.52],
  大庆: [125.03, 46.58],
  台北: [121.5317, 25.0388],
  高雄: [120.3223, 22.6234],
  三沙: [112.36, 16.85],
  铜陵: [117.8115, 30.9455],
  阜阳: [115.814, 32.889],
  蚌埠: [117.3824, 32.9176],
  安庆: [117.115, 30.532],
  宿州: [116.9639, 33.6464],
  六安: [116.5214, 31.7344],
  淮北: [116.7977, 33.9565],
  黄山: [118.3375, 29.7148],
  滁州: [118.3283, 32.2535],
  贵池: [117.489, 30.656],
  池州: [117.489, 30.656],
  宣城: [118.758, 30.94],
  淮南: [117.0, 32.625],
  巢湖: [117.27, 31.86],

  湖州市: [119.8608, 30.7782],
  杭州市: [119.5313, 29.8773],
  金华市: [120.0037, 29.1028],
  温州市: [120.498, 27.8119],
  丽水市: [119.5642, 28.1854],
  绍兴市: [120.564, 29.7565],
  宁波市: [121.5967, 29.6466],
  嘉兴市: [120.9155, 30.6354],
  台州市: [121.1353, 28.6688],
  衢州市: [118.6853, 28.8666],
  舟山市: [122.2559, 30.2234],

  浙江省湖州地区: [119.8608, 30.7782],
  浙江省杭州地区: [119.5313, 29.8773],
  浙江省金华地区: [120.0037, 29.1028],
  浙江省温州地区: [120.498, 27.8119],
  浙江省丽水地区: [119.5642, 28.1854],
  浙江省绍兴地区: [120.564, 29.7565],
  浙江省宁波地区: [121.5967, 29.6466],
  浙江省嘉兴地区: [120.9155, 30.6354],
  浙江省台州地区: [121.1353, 28.6688],
  浙江省衢州地区: [118.6853, 28.8666],
  浙江省舟山地区: [122.2559, 30.2234],

  湖州地区: [119.8608, 30.7782],
  杭州地区: [119.5313, 29.8773],
  金华地区: [120.0037, 29.1028],
  温州地区: [120.498, 27.8119],
  丽水地区: [119.5642, 28.1854],
  绍兴地区: [120.564, 29.7565],
  宁波地区: [121.5967, 29.6466],
  嘉兴地区: [120.9155, 30.6354],
  台州地区: [121.1353, 28.6688],
  衢州地区: [118.6853, 28.8666],
  舟山地区: [122.2559, 30.2234],

  南京市: [118.78, 32.04],
  无锡市: [120.29, 31.59],
  徐州市: [117.2, 34.26],
  常州市: [119.95, 31.79],
  苏州市: [120.62, 31.32],
  南通市: [121.05, 32.08],
  盐城市: [120.13, 33.38],
  扬州市: [119.42, 32.39],
  镇江市: [119.44, 32.2],
  泰州市: [119.9, 32.49],
  淮阴市: [119.15, 33.5],
  淮安市: [119.15, 33.5],
  连云港市: [119.16, 34.59],

  南京地区: [118.78, 32.04],
  无锡地区: [120.29, 31.59],
  徐州地区: [117.2, 34.26],
  常州地区: [119.95, 31.79],
  苏州地区: [120.62, 31.32],
  南通地区: [121.05, 32.08],
  盐城地区: [120.13, 33.38],
  扬州地区: [119.42, 32.39],
  镇江地区: [119.44, 32.2],
  泰州地区: [119.9, 32.49],
  淮阴地区: [119.15, 33.5],
  淮安地区: [119.15, 33.5],
  连云港地区: [119.16, 34.59],

  江苏省南京地区: [118.78, 32.04],
  江苏省无锡地区: [120.29, 31.59],
  江苏省徐州地区: [117.2, 34.26],
  江苏省常州地区: [119.95, 31.79],
  江苏省苏州地区: [120.62, 31.32],
  江苏省南通地区: [121.05, 32.08],
  江苏省盐城地区: [120.13, 33.38],
  江苏省扬州地区: [119.42, 32.39],
  江苏省镇江地区: [119.44, 32.2],
  江苏省泰州地区: [119.9, 32.49],
  江苏省淮阴地区: [119.15, 33.5],
  江苏省淮安地区: [119.15, 33.5],
  江苏省连云港地区: [119.16, 34.59],
  // 国内城市 end

  // 国内省份 start
  北京: [116.46, 39.92],
  天津: [117.2, 39.13],
  上海: [121.48, 31.22],
  重庆: [106.54, 29.59],
  河北: [114.48, 38.03],
  河南: [113.65, 34.76],
  云南: [102.73, 25.04],
  辽宁: [123.38, 41.8],
  黑龙江: [126.63, 45.75],
  湖南: [113.0, 28.21],
  安徽: [117.27, 31.86],
  山东: [117.0, 36.65],
  新疆: [87.68, 43.77],
  江苏: [118.78, 32.04],
  浙江: [120.19, 30.26],
  江西: [115.89, 28.68],
  湖北: [114.31, 30.52],
  广西: [108.33, 22.84],
  甘肃: [103.73, 36.03],
  山西: [112.53, 37.87],
  内蒙古: [111.65, 40.82],
  陕西: [108.95, 34.27],
  吉林: [125.35, 43.88],
  福建: [119.3, 26.08],
  贵州: [106.71, 26.57],
  广东: [113.23, 23.16],
  青海: [101.74, 36.56],
  西藏: [91.11, 29.97],
  四川: [104.06, 30.67],
  宁夏: [106.27, 38.47],
  海南: [110.35, 20.02],
  香港: [114.1846, 22.2869],
  澳门: [113.5524, 22.2007],
  台湾: [121.5317, 25.0388],
  南海诸岛: [112.36, 16.85],
  钓鱼岛: [123.4745, 25.747],

  北京市: [116.46, 39.92],
  天津市: [117.2, 39.13],
  上海市: [121.48, 31.22],
  重庆市: [106.54, 29.59],
  河北省: [114.48, 38.03],
  河南省: [113.65, 34.76],
  云南省: [102.73, 25.04],
  辽宁省: [123.38, 41.8],
  黑龙江省: [126.63, 45.75],
  湖南省: [113.0, 28.21],
  安徽省: [117.27, 31.86],
  山东省: [117.0, 36.65],
  新疆维吾尔自治区: [87.68, 43.77],
  新疆生产建设兵团: [86.0458, 44.3078],
  江苏省: [118.78, 32.04],
  浙江省: [120.19, 30.26],
  江西省: [115.89, 28.68],
  湖北省: [114.31, 30.52],
  广西壮族自治区: [108.33, 22.84],
  甘肃省: [103.73, 36.03],
  山西省: [112.53, 37.87],
  内蒙古自治区: [111.65, 40.82],
  陕西省: [108.95, 34.27],
  吉林省: [125.35, 43.88],
  福建省: [119.3, 26.08],
  贵州省: [106.71, 26.57],
  广东省: [113.23, 23.16],
  青海省: [101.74, 36.56],
  西藏自治区: [91.11, 29.97],
  四川省: [104.06, 30.67],
  宁夏回族自治区: [106.27, 38.47],
  海南省: [110.35, 20.02],
  香港特别行政区: [114.1846, 22.2869],
  澳门特别行政区: [113.5524, 22.2007],
  台湾省: [121.5317, 25.0388],

  中国香港: [114.1846, 22.2869],
  中国澳门: [113.5524, 22.2007],
  中国台湾: [121.5317, 25.0388],
  // 国内省份 end

  // 国家地区 start
  阿富汗: [69.11, 34.28],
  阿尔巴尼亚: [19.49, 41.18],
  阿尔及利亚: [3.08, 36.42],
  美属萨摩亚: [-170.43, -14.16],
  安道尔: [1.32, 42.31],
  安哥拉: [13.15, -8.5],
  安提瓜和巴布达: [-61.48, 17.2],
  阿根廷: [-60.0, -36.3],
  亚美尼亚: [44.31, 40.1],
  阿鲁巴: [-70.02, 12.32],
  澳大利亚: [149.08, -35.15],
  奥地利: [16.22, 48.12],
  阿塞拜疆: [49.56, 40.29],
  巴哈马: [-77.2, 25.05],
  巴林: [50.3, 26.1],
  孟加拉国: [90.26, 23.43],
  孟加拉: [90.26, 23.43],
  巴巴多斯: [-59.3, 13.05],
  白俄罗斯: [27.3, 53.52],
  比利时: [4.21, 50.51],
  伯利兹: [-88.3, 17.18],
  贝宁: [2.42, 6.23],
  贝南: [2.42, 6.23],
  不丹: [89.45, 27.31],
  玻利维亚: [-68.1, -16.2],
  波斯尼亚和黑塞哥维那: [18.26, 43.52],
  博茨瓦纳: [25.57, -24.45],
  巴西: [-47.55, -15.47],
  英属维尔京群岛: [-64.37, 18.27],
  文莱: [115.0, 4.52],
  保加利亚: [23.2, 42.45],
  布基纳法索: [-1.3, 12.15],
  步基纳法索: [-1.3, 12.15],
  布隆迪: [29.18, -3.16],
  柬埔寨: [104.55, 11.33],
  喀麦隆: [11.35, 3.5],
  加拿大: [-75.42, 45.27],
  佛得角: [-23.34, 15.02],
  开曼群岛: [-81.24, 19.2],
  中非共和国: [18.35, 4.23],
  乍得: [14.59, 12.1],
  智利: [-70.4, -33.24],
  中国: [116.2, 39.55],
  哥伦比亚: [-74.0, 4.34],
  科摩罗: [43.16, -11.4],
  刚果: [15.12, -4.09],
  哥斯达黎加: [-84.02, 9.55],
  科特迪瓦: [-5.17, 6.49],
  克罗地亚: [15.58, 45.5],
  古巴: [-82.22, 23.08],
  塞浦路斯: [33.25, 35.1],
  捷克: [14.22, 50.05],
  捷克共和国: [14.22, 50.05],
  朝鲜: [125.3, 39.09],
  扎伊尔: [15.15, -4.2],
  丹麦: [12.34, 55.41],
  吉布提: [42.2, 11.08],
  多米尼加: [-61.24, 15.2],
  多米尼加共和国: [-69.59, 18.3],
  东帝汶: [125.34, -8.29],
  厄瓜多尔: [-78.35, -0.15],
  埃及: [31.14, 30.01],
  萨尔瓦多: [-89.1, 13.4],
  赤道几内亚: [8.5, 3.45],
  厄立特里亚: [38.55, 15.19],
  爱沙尼亚: [24.48, 59.22],
  埃塞俄比亚: [38.42, 9.02],
  福克兰群岛: [-59.51, -51.4],
  马尔维纳斯群岛: [-59.51, -51.4],
  法罗群岛: [-6.56, 62.05],
  斐济: [178.3, -18.06],
  芬兰: [25.03, 60.15],
  法国: [2.2, 48.5],
  法属圭亚那: [-52.18, 5.05],
  法属波利尼西亚: [-149.34, -17.32],
  加蓬: [9.26, 0.25],
  冈比亚: [-16.4, 13.28],
  格鲁吉亚: [44.5, 41.43],
  德国: [13.25, 52.3],
  加纳: [-0.06, 5.35],
  希腊: [23.46, 37.58],
  格陵兰: [-51.35, 64.1],
  瓜德罗普岛: [-61.44, 16.0],
  危地马拉: [-90.22, 14.4],
  根西岛: [-2.33, 49.26],
  几内亚: [-13.49, 9.29],
  几内亚比绍: [-15.45, 11.45],
  圭亚那: [-58.12, 6.5],
  海地: [-72.2, 18.4],
  赫德岛和麦当劳群岛: [74.0, -53.0],
  洪都拉斯: [-87.14, 14.05],
  匈牙利: [19.05, 47.29],
  冰岛: [-21.57, 64.1],
  印度: [77.13, 28.37],
  印度尼西亚: [106.49, -6.09],
  伊朗: [51.3, 35.44],
  伊拉克: [44.3, 33.2],
  爱尔兰: [-6.15, 53.21],
  以色列: [35.12, 31.47],
  意大利: [12.29, 41.54],
  牙买加: [-76.5, 18.0],
  约旦: [35.52, 31.57],
  哈萨克斯坦: [71.3, 51.1],
  肯尼亚: [36.48, -1.17],
  基里巴斯: [173.0, 1.3],
  科威特: [48.0, 29.3],
  吉尔吉斯斯坦: [74.46, 42.54],
  老挝: [102.36, 17.58],
  拉脱维亚: [24.08, 56.53],
  黎巴嫩: [35.31, 33.53],
  莱索托: [27.3, -29.18],
  利比里亚: [-10.47, 6.18],
  阿拉伯利比亚民众国: [13.07, 32.49],
  列支敦士登: [9.31, 47.08],
  立陶宛: [25.19, 54.38],
  卢森堡: [6.09, 49.37],
  马达加斯加: [47.31, -18.55],
  马拉维: [33.48, -14.0],
  马来西亚: [101.41, 3.09],
  马尔代夫: [73.28, 4.0],
  马里: [-7.55, 12.34],
  马耳他: [14.31, 35.54],
  马提尼克岛: [-61.02, 14.36],
  毛里塔尼亚: [57.3, -20.1],
  马约特岛: [45.14, -12.48],
  墨西哥: [-99.1, 19.2],
  密克罗尼西亚: [158.09, 6.55],
  摩尔多瓦共和国: [28.5, 47.02],
  莫桑比克: [32.32, -25.58],
  缅甸: [96.2, 16.45],
  纳米比亚: [17.04, -22.35],
  尼泊尔: [85.2, 27.45],
  荷兰: [4.54, 52.23],
  荷属安的列斯: [-69.0, 12.05],
  新喀里多尼亚: [166.3, -22.17],
  新西兰: [174.46, -41.19],
  尼加拉瓜: [-86.2, 12.06],
  尼日尔: [2.06, 13.27],
  尼日利亚: [7.32, 9.05],
  诺福克岛: [168.43, -45.2],
  北马里亚纳群岛: [145.45, 15.12],
  挪威: [10.45, 59.55],
  阿曼: [58.36, 23.37],
  巴基斯坦: [73.1, 33.4],
  帕劳: [134.28, 7.2],
  巴拿马: [-79.25, 9.0],
  巴布亚新几内亚: [147.08, -9.24],
  巴拉圭: [-57.3, -25.1],
  秘鲁: [-77.0, -12.0],
  菲律宾: [121.03, 14.4],
  波兰: [21.0, 52.13],
  葡萄牙: [-9.1, 38.42],
  波多黎各: [-66.07, 18.28],
  卡塔尔: [51.35, 25.15],
  韩国: [126.58, 37.31],
  罗马尼亚: [26.1, 44.27],
  俄罗斯: [37.35, 55.45],
  卢旺达: [30.04, -1.59],
  圣基茨和尼维斯: [-62.43, 17.17],
  圣卢西亚: [-60.58, 14.02],
  圣皮埃尔和密克隆: [-56.12, 46.46],
  圣文森特和格林纳丁斯: [-61.1, 13.1],
  萨摩亚: [-171.5, -13.5],
  圣马力诺: [12.3, 43.55],
  圣多美和普林西比: [6.39, 0.1],
  沙特阿拉伯: [46.42, 24.41],
  沙乌地阿拉伯: [46.42, 24.41],
  沙地阿拉伯: [46.42, 24.41],
  沙特阿拉伯王国: [46.42, 24.41],
  塞内加尔: [-17.29, 14.34],
  塞拉利昂: [-13.17, 8.3],
  斯洛伐克: [17.07, 48.1],
  斯洛文尼亚: [14.33, 46.04],
  所罗门群岛: [159.57, -9.27],
  索马里: [45.25, 2.02],
  比勒陀利亚: [28.12, -25.44],
  西班牙: [-3.45, 40.25],
  苏丹: [32.35, 15.31],
  苏里南: [-55.1, 5.5],
  斯威士兰: [31.06, -26.18],
  瑞典: [18.03, 59.2],
  瑞士: [7.28, 46.57],
  阿拉伯叙利亚共和国: [36.18, 33.3],
  塔吉克斯坦: [68.48, 38.33],
  泰国: [100.35, 13.45],
  马其顿: [21.26, 42.01],
  多哥: [1.2, 6.09],
  汤加: [-174.0, -21.1],
  突尼斯: [10.11, 36.5],
  土耳其: [32.54, 39.57],
  土库曼斯坦: [57.5, 38.0],
  图瓦卢: [179.13, -8.31],
  乌干达: [32.3, 0.2],
  乌克兰: [30.28, 50.3],
  阿联酋: [54.22, 24.28],
  阿拉伯联合酋长国: [54.22, 24.28],
  英国: [-0.05, 51.36],
  坦桑尼亚: [35.45, -6.08],
  美国: [-77.02, 39.91],
  美属维尔京群岛: [-64.56, 18.21],
  乌拉圭: [-56.11, -34.5],
  乌兹别克斯坦: [69.1, 41.2],
  瓦努阿图: [168.18, -17.45],
  委内瑞拉: [-66.55, 10.3],
  越南: [105.55, 21.05],
  南斯拉夫: [20.37, 44.5],
  南斯拉夫联盟: [20.37, 44.5],
  赞比亚: [28.16, -15.28],
  津巴布韦: [31.02, -17.43],
  印尼: [106.49, -6.09],
  新加坡: [103.7974, 1.3565],
  巴林岛: [50.55, 26.03],
  斯里兰卡: [79.88, 6.91],
  南非: [18.42, -33.93],
  摩洛哥: [-6.83, 34.03],
  毛里求斯: [57.5, -20.17],
  日本: [139.76, 35.68],

  美国和加拿大: [-77.02, 39.91],
  刚果民主共和国: [27.29, 11.44],
  拉托维亚: [24.1069, 56.9475],
  蒙古: [106.9172, 47.9203],
  摩纳哥: [7.416667, 43.733333],
  巴勒斯坦: [35.233333, 31.783333],

  Amsterdam: [4.895168, 52.370216],
  Athens: [-83.357567, 33.951935],
  Auckland: [174.763332, -36.84846],
  Bangkok: [100.501765, 13.756331],
  Barcelona: [2.173403, 41.385064],
  Beijing: [116.407395, 39.904211],
  Berlin: [13.404954, 52.520007],
  Bogotá: [-74.072092, 4.710989],
  Bratislava: [17.107748, 48.148596],
  Brussels: [4.35171, 50.85034],
  Budapest: [19.040235, 47.497912],
  "Buenos Aires": [-58.381559, -34.603684],
  Bucharest: [26.102538, 44.426767],
  Caracas: [-66.903606, 10.480594],
  Chicago: [-87.629798, 41.878114],
  Delhi: [77.209021, 28.613939],
  Doha: [51.53104, 25.285447],
  Dubai: [55.270783, 25.204849],
  Dublin: [-6.26031, 53.349805],
  Frankfurt: [8.682127, 50.110922],
  Geneva: [6.143158, 46.204391],
  Helsinki: [24.938379, 60.169856],
  "Hong Kong": [114.109497, 22.396428],
  Istanbul: [28.978359, 41.008238],
  Jakarta: [106.845599, -6.208763],
  Johannesburg: [28.047305, -26.204103],
  Cairo: [31.235712, 30.04442],
  Kiev: [30.5234, 50.4501],
  Copenhagen: [12.568337, 55.676097],
  "Kuala Lumpur": [101.686855, 3.139003],
  Lima: [-77.042793, -12.046374],
  Lisbon: [-9.139337, 38.722252],
  Ljubljana: [14.505751, 46.056947],
  London: [-0.127758, 51.507351],
  "Los Angeles": [-118.243685, 34.052234],
  Luxembourg: [6.129583, 49.815273],
  Lyon: [4.835659, 45.764043],
  Madrid: [-3.70379, 40.416775],
  Milan: [9.185924, 45.465422],
  Manama: [50.58605, 26.228516],
  Manila: [120.984219, 14.599512],
  "Mexico City": [-99.133208, 19.432608],
  Miami: [-80.19179, 25.76168],
  Montreal: [-73.567256, 45.501689],
  Moscow: [37.6173, 55.755826],
  Mumbai: [72.877656, 19.075984],
  Munich: [11.581981, 48.135125],
  Nairobi: [36.821946, -1.292066],
  "New York": [-74.005941, 40.712784],
  Nicosia: [33.382276, 35.185566],
  Oslo: [10.752245, 59.913869],
  Paris: [2.352222, 48.856614],
  Prague: [14.4378, 50.075538],
  Riga: [24.105186, 56.949649],
  "Rio de Janeiro": [-43.172896, -22.906847],
  Rome: [12.496366, 41.902783],
  "Santiago de Chile": [-70.669265, -33.44889],
  "São Paulo": [-46.633309, -23.55052],
  Seoul: [126.977969, 37.566535],
  Shanghai: [121.473701, 31.230416],
  Singapore: [103.819836, 1.352083],
  Sofia: [23.321868, 42.697708],
  Stockholm: [18.068581, 59.329323],
  Sydney: [151.209296, -33.86882],
  Taipei: [121.565418, 25.032969],
  Tallinn: [24.753575, 59.436961],
  "Tel Aviv": [34.781768, 32.0853],
  Tokyo: [139.691706, 35.689487],
  Toronto: [-79.383184, 43.653226],
  Vilnius: [25.279651, 54.687156],
  Warsaw: [21.012229, 52.229676],
  Vienna: [16.373819, 48.208174],
  Zurich: [8.541694, 47.376887]
  // 国家地区 end
};

// var countryNameMap = {
//   Afghanistan: '阿富汗',
//   Angola: '安哥拉',
//   Albania: '阿尔巴尼亚',
//   'United Arab Emirates': '阿拉伯联合酋长国',
//   Argentina: '阿根廷',
//   Armenia: '亚美尼亚',
//   'French Southern and Antarctic Lands': '法属南半球和南极领地',
//   Australia: '澳大利亚',
//   Austria: '奥地利',
//   Azerbaijan: '阿塞拜疆',
//   Burundi: '布隆迪',
//   Belgium: '比利时',
//   Benin: '贝宁',
//   'Burkina Faso': '布基纳法索',
//   Bangladesh: '孟加拉国',
//   Bulgaria: '保加利亚',
//   'The Bahamas': '巴哈马',
//   'Bosnia and Herzegovina': '波斯尼亚和黑塞哥维那',
//   Belarus: '白俄罗斯',
//   Belize: '伯利兹',
//   Bermuda: '百慕大',
//   Bolivia: '玻利维亚',
//   Brazil: '巴西',
//   Brunei: '文莱',
//   Bhutan: '不丹',
//   Botswana: '博茨瓦纳',
//   'Central African Republic': '中非共和国',
//   Canada: '加拿大',
//   Switzerland: '瑞士',
//   Chile: '智利',
//   China: '中国',
//   'Ivory Coast': '象牙海岸',
//   Cameroon: '喀麦隆',
//   'Democratic Republic of the Congo': '刚果民主共和国',
//   'Republic of the Congo': '刚果共和国',
//   Colombia: '哥伦比亚',
//   'Costa Rica': '哥斯达黎加',
//   Cuba: '古巴',
//   'Northern Cyprus': '北塞浦路斯',
//   Cyprus: '塞浦路斯',
//   'Czech Republic': '捷克共和国',
//   Germany: '德国',
//   Djibouti: '吉布提',
//   Denmark: '丹麦',
//   'Dominican Republic': '多明尼加共和国',
//   Algeria: '阿尔及利亚',
//   Ecuador: '厄瓜多尔',
//   Egypt: '埃及',
//   Eritrea: '厄立特里亚',
//   Spain: '西班牙',
//   Estonia: '爱沙尼亚',
//   Ethiopia: '埃塞俄比亚',
//   Finland: '芬兰',
//   Fiji: '斐',
//   'Falkland Islands': '福克兰群岛',
//   France: '法国',
//   Gabon: '加蓬',
//   'United Kingdom': '英国',
//   Georgia: '格鲁吉亚',
//   Ghana: '加纳',
//   Guinea: '几内亚',
//   Gambia: '冈比亚',
//   'Guinea Bissau': '几内亚比绍',
//   'Equatorial Guinea': '赤道几内亚',
//   Greece: '希腊',
//   Greenland: '格陵兰',
//   Guatemala: '危地马拉',
//   'French Guiana': '法属圭亚那',
//   Guyana: '圭亚那',
//   Honduras: '洪都拉斯',
//   Croatia: '克罗地亚',
//   Haiti: '海地',
//   Hungary: '匈牙利',
//   Indonesia: '印尼',
//   India: '印度',
//   Ireland: '爱尔兰',
//   Iran: '伊朗',
//   Iraq: '伊拉克',
//   Iceland: '冰岛',
//   Israel: '以色列',
//   Italy: '意大利',
//   Jamaica: '牙买加',
//   Jordan: '约旦',
//   Japan: '日本',
//   Kazakhstan: '哈萨克斯坦',
//   Kenya: '肯尼亚',
//   Kyrgyzstan: '吉尔吉斯斯坦',
//   Cambodia: '柬埔寨',
//   'South Korea': '韩国',
//   Kosovo: '科索沃',
//   Kuwait: '科威特',
//   Laos: '老挝',
//   Lebanon: '黎巴嫩',
//   Liberia: '利比里亚',
//   Libya: '利比亚',
//   'Sri Lanka': '斯里兰卡',
//   Lesotho: '莱索托',
//   Lithuania: '立陶宛',
//   Luxembourg: '卢森堡',
//   Latvia: '拉脱维亚',
//   Morocco: '摩洛哥',
//   Moldova: '摩尔多瓦',
//   Madagascar: '马达加斯加',
//   Mexico: '墨西哥',
//   Macedonia: '马其顿',
//   Mali: '马里',
//   Myanmar: '缅甸',
//   Montenegro: '黑山',
//   Mongolia: '蒙古',
//   Mozambique: '莫桑比克',
//   Mauritania: '毛里塔尼亚',
//   Malawi: '马拉维',
//   Malaysia: '马来西亚',
//   Namibia: '纳米比亚',
//   'New Caledonia': '新喀里多尼亚',
//   Niger: '尼日尔',
//   Nigeria: '尼日利亚',
//   Nicaragua: '尼加拉瓜',
//   Netherlands: '荷兰',
//   Norway: '挪威',
//   Nepal: '尼泊尔',
//   'New Zealand': '新西兰',
//   Oman: '阿曼',
//   Pakistan: '巴基斯坦',
//   Panama: '巴拿马',
//   Peru: '秘鲁',
//   Philippines: '菲律宾',
//   'Papua New Guinea': '巴布亚新几内亚',
//   Poland: '波兰',
//   'Puerto Rico': '波多黎各',
//   'North Korea': '北朝鲜',
//   Portugal: '葡萄牙',
//   Paraguay: '巴拉圭',
//   Qatar: '卡塔尔',
//   Romania: '罗马尼亚',
//   Russia: '俄罗斯',
//   Rwanda: '卢旺达',
//   'Western Sahara': '西撒哈拉',
//   'Saudi Arabia': '沙特阿拉伯',
//   Sudan: '苏丹',
//   'South Sudan': '南苏丹',
//   Senegal: '塞内加尔',
//   'Solomon Islands': '所罗门群岛',
//   'Sierra Leone': '塞拉利昂',
//   'El Salvador': '萨尔瓦多',
//   Singapore: '新加坡',
//   Somaliland: '索马里兰',
//   Somalia: '索马里',
//   'Republic of Serbia': '塞尔维亚共和国',
//   Suriname: '苏里南',
//   Slovakia: '斯洛伐克',
//   Slovenia: '斯洛文尼亚',
//   Sweden: '瑞典',
//   Swaziland: '斯威士兰',
//   Syria: '叙利亚',
//   Chad: '乍得',
//   Togo: '多哥',
//   Thailand: '泰国',
//   Tajikistan: '塔吉克斯坦',
//   Turkmenistan: '土库曼斯坦',
//   'East Timor': '东帝汶',
//   'Trinidad and Tobago': '特里尼达和多巴哥',
//   Tunisia: '突尼斯',
//   Turkey: '土耳其',
//   'United Republic of Tanzania': '坦桑尼亚联合共和国',
//   Uganda: '乌干达',
//   Ukraine: '乌克兰',
//   Uruguay: '乌拉圭',
//   'United States of America': '美国',
//   Uzbekistan: '乌兹别克斯坦',
//   Venezuela: '委内瑞拉',
//   Vietnam: '越南',
//   Vanuatu: '瓦努阿图',
//   'West Bank': '西岸',
//   Yemen: '也门',
//   'South Africa': '南非',
//   Zambia: '赞比亚',
//   Zimbabwe: '津巴布韦',
// }
var chartArr = [];
export function getType(obj) {
  //tostring会返回对应不同的标签的构造函数
  var toString = Object.prototype.toString;
  var map = {
    "[object Boolean]": "boolean",
    "[object Number]": "number",
    "[object String]": "string",
    "[object Function]": "function",
    "[object Array]": "array",
    "[object Date]": "date",
    "[object RegExp]": "regExp",
    "[object Undefined]": "undefined",
    "[object Null]": "null",
    "[object Object]": "object"
  };
  if (obj instanceof Element) {
    return "element";
  }
  return map[toString.call(obj)];
}

/**
 * 对象深克隆
 * @param
 */
export function deepClone(data) {
  var type = getType(data);
  var obj;
  if (type === "array") {
    obj = [];
  } else if (type === "object") {
    obj = {};
  } else {
    //不再具有下一层次
    return data;
  }
  if (type === "array") {
    for (var i = 0, len = data.length; i < len; i++) {
      obj.push(deepClone(data[i]));
    }
  } else if (type === "object") {
    for (var key in data) {
      obj[key] = deepClone(data[key]);
    }
  }
  return obj;
}
/**
 * 千分位显示
 */
export function toThousand(num) {
  if (!num) {
    num = 0;
  }
  num = num.toString();
  let before = num.split(".")[0];
  let after = num.split(".")[1];
  let reg = /\d{1,3}(?=(\d{3})+$)/g;
  if (after) {
    return (before + "").replace(reg, "$&,") + "." + after;
  } else {
    return (before + "").replace(reg, "$&,");
  }
}

export function debounce(fn, delay) {
  var timer;
  return function() {
    var context = this;
    var args = arguments;
    clearTimeout(timer);
    timer = setTimeout(function() {
      fn.apply(context, args);
    }, delay);
  };
}

/**
 * @param {date} time 需要转换的时间
 * @param {String} fmt 需要转换的格式 如 yyyy-MM-dd、yyyy-MM-dd HH:mm:ss
 */
export function formatTime(time, fmt) {
  if (!time) return "";
  else {
    const date = new Date(time);
    const o = {
      "M+": date.getMonth() + 1,
      "d+": date.getDate(),
      "H+": date.getHours(),
      "m+": date.getMinutes(),
      "s+": date.getSeconds(),
      "q+": Math.floor((date.getMonth() + 3) / 3),
      S: date.getMilliseconds()
    };
    if (/(y+)/.test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        (date.getFullYear() + "").substr(4 - RegExp.$1.length)
      );
    for (const k in o) {
      if (new RegExp("(" + k + ")").test(fmt)) {
        fmt = fmt.replace(
          RegExp.$1,
          RegExp.$1.length === 1
            ? o[k]
            : ("00" + o[k]).substr(("" + o[k]).length)
        );
      }
    }
    return fmt;
  }
}

export function dataAssemble(geo, data, text) {
  var series = [];
  [["长兴", data]].forEach(function(item, i) {
    series.push(
      {
        // 线
        type: "lines", // 用于带有起点和重点信息的线数据的绘制
        coordinateSystem: "geo",
        zlevel: 1, // Canvas 分层
        effect: {
          // 线特效配置
          show: false, // 是否显示特效
          period: 6, // 特效动画的时间(s)
          trailLength: 0.7, // 特效尾迹的长度
          //color: '#f00', // 特效标记的颜色
          symbolSize: 3 // 特效标记大小
        },
        lineStyle: {
          normal: {
            width: 0,
            curveness: 0.2
          }
        },
        data: convertData(item[1]) // 开始地名字,结束地名字,开始结束经纬度
      },
      {
        // 飞机
        type: "lines",
        coordinateSystem: "geo",
        zlevel: 2,
        large: true,
        effect: {
          show: false,
          constantSpeed: 30,
          symbol: "arrow", //ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
          symbolSize: 6,
          trailLength: 0
        },
        lineStyle: {
          normal: {
            // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
            //     offset: 0, color: '#58B3CC'
            // }, {
            //     offset: 1, color: '#F58158'
            // }], false),
            width: 0,
            opacity: 0.6,
            curveness: 0.2
          }
        },
        data: convertData(item[1])
      },
      {
        // 开始坐标点
        type: "effectScatter",
        coordinateSystem: "geo",
        // symbol: 'diamond',
        showEffectOn: "render",
        rippleEffect: {
          brushType: "stroke"
        },
        hoverAnimation: true,
        color: "#ffffff",
        itemStyle: {
          normal: {
            color: "#33D8D1"
          }
        },
        zlevel: 2,
        label: {
          normal: {
            show: true,
            position: "right",
            formatter: "{b}"
          }
        },
        data: item[1].map(function(dataItem) {
          // name, value
          if (geoCoord[dataItem[1].name]) {
            return {
              name: dataItem[1].name,
              value: geoCoord[dataItem[1].name].concat([dataItem[1].value])
            };
          }
        })
      }
    );
  });
  dataRendering(geo, series);
}

// 得出经纬度
export function convertData(data) {
  var res = [];
  for (var i = 0; i < data.length; i++) {
    var dataItem = data[i];
    var fromCoord = geoCoord[dataItem[1].name];
    var toCoord = geoCoord[dataItem[0].name];
    if (fromCoord && toCoord) {
      res.push({
        fromName: dataItem[1].name,
        toName: dataItem[0].name,
        coords: [fromCoord, toCoord],
        value: dataItem[1].value
      });
    }
  }
  return res;
}
/**
 * 地图 - 图表渲染
 * */
export function dataRendering(geo, series) {
  var mapChart = echarts.init(document.getElementById("init_map"));
  mapChart.clear();
  echarts.registerMap("china", china);
  echarts.registerMap("zhejiang", zhejiang);
  series.unshift({
    type: "map",
    map: geo.map,
    // data: mapData,
    tooltip: {
      show: false
    },
    label: {
      normal: {
        show: false,
        color: "#FFFFFF",
        fontSize: 12
      },
      emphasis: {
        color: "#FFFFFF"
      }
    },
    aspectScale: 0.75,
    layoutCenter: ["51.5%", "51.5%"], //地图位置
    layoutSize: "98%",
    roam: true,
    itemStyle: {
      normal: {
        borderColor: "rgba(147, 235, 248, 0.6)",
        borderWidth: 0.8,
        areaColor: "#3154C9"
      },
      emphasis: {
        areaColor: "rgba(147, 235, 248, 0)"
      }
    },
    zlevel: 1
  });
  var option = {
    tooltip: {
      trigger: "item",
      formatter: function(params) {
        var value = params.value[2] || params.data.value,
          s = params.name || params.data.fromName;
        return s + ":" + value + " (万人次)";
      }
    },
    geo: [
      {
        map: geo.map,
        aspectScale: 0.75,
        layoutCenter: ["50%", "50%"], //地图位置
        layoutSize: "98%",
        roam: true,
        itemStyle: {
          normal: {
            borderColor: "rgba(147, 235, 248, 1)",
            borderWidth: 0.5,
            color: "rgba(44,84,99,1)",
            opacity: 0.5
          },
          emphasis: {
            areaColor: "#2a333d"
          }
        },
        regions: [
          {
            name: "南海诸岛",
            itemStyle: {
              areaColor: "rgba(0, 10, 52, 1)",
              borderColor: "rgba(0, 10, 52, 1)"
            },
            emphasis: {
              areaColor: "rgba(0, 10, 52, 1)",
              borderColor: "rgba(0, 10, 52, 1)"
            }
          }
        ],
        z: 2
      }
    ],
    series: series
  };
  mapChart.setOption(option);
  mapChart.on("georoam", params => {
    var option = mapChart.getOption(); //获得option对象
    if (params.zoom != null && params.zoom != undefined) {
      //捕捉到缩放时
      option.geo[0].zoom = option.series[0].zoom; //下层geo的缩放等级跟着上层的geo一起改变
      option.geo[0].center = option.series[0].center; //下层的geo的中心位置随着上层geo一起改变
    } else {
      //捕捉到拖曳时
      option.geo[0].center = option.series[0].center; //下层的geo的中心位置随着上层geo一起改变
    }
    mapChart.setOption(option); //设置option
  });
  chartArr.indexOf(mapChart) == "-1" ? chartArr.push(mapChart) : "";
}

/**
 * 传入需要加密的字符串,输出经过URL编码再经使用一次性Key的RSA加密的密文
 * @param reqStr	需要加密的字符串
 * @param url 	请求获取用于加密的公钥的服务地址
 * @returns	加密后的密文
 */
export async function encryptedReqstr(reqStr, rsa) {
  console.log(reqStr, rsa);
  //初步处理,url编码
  reqStr = encodeURIComponent(reqStr);
  //获取加密秘钥
  var key = await bodyRSA(rsa);
  //使用加密秘钥加密密码

  var en_reqstr = RSAUtils.encryptedString(key, reqStr);
  return en_reqstr;
}

/**
 * 向接口请求获取加密用的一次性秘钥
 * @param url	请求获取用于加密的公钥的服务地址
 * @return 加密中需要使用的公钥
 */
export async function bodyRSA(rsa) {
  var publicExponent = "10001";
  /*
   * 发送获取公钥的请求
   */

  var key = new RSAUtils.getKeyPair(publicExponent, "", rsa);
  return key;
}

export function gainkey(parameter) {
  return request({
    url: "/gainkey",
    method: "get",
    params: parameter
  });
}
export function getCookie(name) {
  var v = window.document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)");
  return v ? v[2] : null;
}


export function getHolidayByYear(value, holidayCode, callback) {
  let initHolidayList = [
    {
      name: '元旦',
      code: 'yuandan',
    },
    {
      name: '春节',
      code: 'chunjie',
    },
    {
      name: '清明节',
      code: 'qingmingjie',
    },
    {
      name: '劳动节',
      code: 'laodongjie',
    },
    {
      name: '端午节',
      code: 'duanwujie',
    },
    {
      name: '中秋节',
      code: 'zhongqiujie',
    },
    {
      name: '国庆节',
      code: 'guoqingjie',
    },
  ]
  let limitStartTime = sessionStorage.getItem('limitStartTime');


  let min = new Date(limitStartTime).getFullYear()
  let minDate = min + '/10/07'
  let callData = {
    code: '',
    list: []
  }
  // callData.code = holidayCode
  // callData.list = initHolidayList
  // callback(callData)
  // return
  if (new Date().getTime() < new Date(value).getTime()) {
    callData.code = initHolidayList[0].code
    callback(callData)
  } else if (new Date(value).getFullYear() == min) {
    let limitHoliday = JSON.parse(sessionStorage.getItem('limitHoliday'))
    if (limitHoliday.holidayCode == "yuandan" && new Date(limitStartTime).getTime() > new Date(minDate).getTime()) {

      callData.code = ''
      callData.list = []
      console.log('99999999999999999999999999999999',value,callData.code,callData.list);
      callback(callData)
    } else {
      let list = [], initIndex = -1;
      initHolidayList.map((item, index) => {
        if (item.code == limitHoliday.holidayCode) {
          initIndex = index
        }
        if (initIndex != -1) {
          list.push(item)
        }
      })
      if (list && list.length > 0) {
        callData.code = list[0].code
        callData.list = list
      }
      callback(callData)
    }
  } else {

    callData.code = holidayCode
    callData.list = initHolidayList
    callback(callData)
  }
}

// export function getDateRange(time, type) {
//   let nowDate = new Date()
//   let limitStartTime = sessionStorage.getItem('limitStartTime');
//   let min = new Date(limitStartTime).getTime()
//   if (!type || type == 'date') {
//     return time.getTime() > nowDate.getTime() || time.getTime() < min
//   } else if (type == 'lastDate') {
//     nowDate = new Date(nowDate.setDate(nowDate.getDate() - 1))
//   } else if (type == 'lastMonth') {
//     nowDate = new Date(nowDate.setMonth(nowDate.getMonth() - 1))
//   } else if (type == 'month') {
//     min = new Date(moment(limitStartTime).format('YYYY/MM')).getTime()
//     nowDate = new Date(nowDate.setMonth(nowDate.getMonth() - 1))
//   }
//   // return time.getTime() > nowDate.getTime()
//   return time.getTime() > nowDate.getTime() || time.getTime() < min
// }
// // 根据所选年份和当前季度判断是否可以选择对应季度
// export function getQuarterByYear(time, callback) {
//   // this.valueYear = time
//   let data = {
//     valueYear: '',
//     valueQuarter: '',
//     message: '',
//     quarterMonth: []
//   }
//   let quarterMonth = [
//     { name: '第一季度', code: '一', startMonth: '01', endMonth: '03', disabled: false, },
//     { name: '第二季度', code: '二', startMonth: '04', endMonth: '06', disabled: false, },
//     { name: '第三季度', code: '三', startMonth: '07', endMonth: '09', disabled: false, },
//     { name: '第四季度', code: '四', startMonth: '10', endMonth: '12', disabled: false, },
//   ]
//   let myDate = new Date()
//   let newYear = myDate.getFullYear().toString()
//   const newMonth = myDate.getMonth() + 1
//   let lock = false;
//   const firstQuery = [1, 2, 3]
//   let currentYear = moment(new Date(time)).format('YYYY')
//   if (currentYear == newYear && firstQuery.includes(newMonth)) {
//     // 不能选择当前所处季度
//     let currentDate = currentYear
//     currentDate = new Date(currentDate)
//     let lastDate = currentDate.setYear(currentDate.getFullYear() - 1) // 输出日期格式为毫秒形式1556668800000
//     lastDate = new Date(lastDate)
//     data.valueYear = lastDate
//     currentYear = new Date(lastDate).getFullYear()
//     data.valueQuarter = '四'
//     data.message = '当前处于开年第一季度，自动跳转到上一年末季'
//     lock = true
//   }
//   // this.valueYear = this.valueYear.getFullYear()
//   let limitStartTime = new Date(sessionStorage.getItem('limitStartTime'));
//   let minYear = limitStartTime.getFullYear()
//   let minMonth = moment(limitStartTime).format('MM')
//   if (currentYear == newYear && newYear != minYear) {
//     // 所选时间为今年，判断季度是否可选
//     quarterMonth = quarterMonth.map((item) => {
//       // if (parseInt(item.endMonth) <= newMonth || (parseInt(item.startMonth) <= newMonth && newMonth <= parseInt(item.endMonth))) { // 能够选择当前所处季度
//       if (parseInt(item.endMonth) <= newMonth) {
//         data.valueQuarter = '一'
//         item.disabled = false
//       } else {
//         item.disabled = true
//         // if (this.valueQuarter == item.code && this.valueYear == newYear) {
//         //   this.valueQuarter = '一'
//         // }
//       }
//       return item
//     })
//   } else if (newYear == minYear) {
//     quarterMonth = quarterMonth.map((item) => {
//       if (parseInt(item.endMonth) > minMonth && parseInt(item.endMonth) <= newMonth) {
//         item.disabled = false
//         if (!lock) {
//           data.valueQuarter = item.code
//           lock = true
//         }
//       } else {
//         item.disabled = true
//         if (!lock) {
//           data.valueQuarter = ''
//         }
//       }
//       return item
//     })
//   } else if (currentYear == minYear) {
//     quarterMonth = quarterMonth.map((item) => {
//       // if (parseInt(item.endMonth) <= newMonth || (parseInt(item.startMonth) <= newMonth && newMonth <= parseInt(item.endMonth))) { // 能够选择当前所处季度
//       if (parseInt(item.endMonth) > minMonth) {
//         // 不能选择当前所处季度
//         item.disabled = false
//         if (!lock) {
//           data.valueQuarter = item.code
//           lock = true
//         }
//       } else {
//         item.disabled = true
//         if (!lock) {
//           data.valueQuarter = ''
//         }
//       }
//       return item
//     })
//   } else {
//     quarterMonth = quarterMonth.map((item, index) => {
//       item.disabled = false
//       if (!lock) data.valueQuarter = quarterMonth[0].code
//       return item
//     })
//   }
//   data.quarterMonth = quarterMonth
//   callback(data)
// }



